#!/usr/bin/env python
# _*_ coding: utf-8 _*_

dna_cmd_coding = {
    'Kmer': ['Kmer.Kmer(training_data, k=%s, **kw)' % parameters['Kmer_Size'], 'Kmer.Kmer(testing_data, k=%s, **kw)' % parameters['Kmer_Size']],
    'RCKmer': ['RCKmer.RCKmer(training_data, k=%s, **kw)' % parameters['Kmer_Size'], 'RCKmer.RCKmer(training_data, k=%s, **kw)' % parameters['Kmer_Size']],
    'NAC': ['NAC.NAC(training_data, **kw)', 'NAC.NAC(testing_data, **kw)'],
    'DNC': ['DNC.DNC(training_data, **kw)', 'DNC.DNC(testing_data, **kw)'],
    'TNC': ['TNC.TNC(training_data, **kw)', 'TNC.TNC(testing_data, **kw)'],
    'ANF': ['ANF.ANF(training_data, **kw)', 'ANF.ANF(testing_data, **kw)'],
    'ENAC': ['ENAC.ENAC(training_data, window=%s, **kw)' % parameters['Sliding_Window'], 'ENAC.ENAC(testing_data, window=%s, **kw)' % parameters['Sliding_Window']],
    'binary': ['binary.binary(training_data, **kw)', 'binary.binary(testing_data, **kw)'],
    'CKSNAP': ['CKSNAP.CKSNAP(training_data, gap=%s, **kw)' % parameters['K_Space'], 'CKSNAP.CKSNAP(testing_data, gap=%s, **kw)' % parameters['K_Space']],
    'NCP': ['NCP.NCP(training_data, **kw)', 'NCP.NCP(testing_data, **kw)'],
    'PSTNPss': ['PSTNPss.PSTNPss(training_data, **kw)', 'PSTNPss.PSTNPss(testing_data, **kw)'],
    'PSTNPds': ['PSTNPds.PSTNPds(training_data, **kw)', 'PSTNPds.PSTNPds(testing_data, **kw)'],
    'EIIP': ['EIIP.EIIP(training_data, **kw)', 'EIIP.EIIP(testing_data, **kw)'],
    'PseEIIP': ['PseEIIP.PseEIIP(training_data, **kw)', 'PseEIIP.PseEIIP(testing_data, **kw)'],
    'DAC': ['ACC.make_ac_vector(training_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value'], 'ACC.make_ac_vector(testing_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value']],
    'DCC': ['ACC.make_cc_vector(training_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value'], 'ACC.make_cc_vector(testing_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value']],
    'DACC': ['ACC.make_acc_vector(training_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value'], 'ACC.make_acc_vector(testing_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value']],
    'TAC': ['ACC.make_ac_vector(training_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value'], 'ACC.make_ac_vector(testing_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value']],
    'TCC': ['ACC.make_cc_vector(training_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value'], 'ACC.make_cc_vector(testing_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value']],
    'TACC': ['ACC.make_acc_vector(training_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value'], 'ACC.make_acc_vector(testing_data, my_property_name, my_property_value, %s, my_kmer)' % parameters['Lag_Value']],
    'PseDNC': ['Pse.make_PseDNC_vector(training_data, my_property_name, my_property_value, my_lamada, my_weight)','Pse.make_PseDNC_vector(testing_data, my_property_name, my_property_value, my_lamada, my_weight)'],
    'PseKNC': ['Pse.make_PseKNC_vector(training_data, my_property_name, my_property_value, my_lamada, my_weight, %d)' % int(parameters['Kmer_Size']), 'Pse.make_PseKNC_vector(testing_data, my_property_name, my_property_value, my_lamada, my_weight, %d)' % int(parameters['Kmer_Size'])],
    'PCPseDNC': ['Pse.make_PseDNC_vector(training_data, my_property_name, my_property_value, my_lamada, my_weight)','Pse.make_PseDNC_vector(testing_data, my_property_name, my_property_value, my_lamada, my_weight)'],
    'PCPseTNC': ['Pse.make_PCPseTNC_vector(training_data, my_property_name, my_property_value, my_lamada, my_weight)','Pse.make_PCPseTNC_vector(testing_data, my_property_name, my_property_value, my_lamada, my_weight)'],
    'SCPseDNC': ['Pse.make_SCPseDNC_vector(training_data, my_property_name, my_property_value, my_lamada, my_weight)','Pse.make_SCPseDNC_vector(testing_data, my_property_name, my_property_value, my_lamada, my_weight)'],
    'SCPseTNC': ['Pse.make_SCPseTNC_vector(training_data, my_property_name, my_property_value, my_lamada, my_weight)', 'Pse.make_SCPseTNC_vector(testing_data, my_property_name, my_property_value, my_lamada, my_weight)'],
}

protein_cmd_coding = {
    'AAC': ['AAC.AAC(training_data, **kw)', 'AAC.AAC(testing_data, **kw)'],
    'EAAC': ['EAAC.EAAC(training_data, window=%d, **kw)' % int(parameters['Sliding_Window']), 'EAAC.EAAC(testing_data, window=%d, **kw)' % int(parameters['Sliding_Window'])],
    'CKSAAP': ['CKSAAP.CKSAAP(training_data, gap=%d, **kw)' % int(parameters['K_Space']), 'CKSAAP.CKSAAP(testing_data, gap=%d, **kw)' % int(parameters['K_Space'])],
    'DPC': ['DPC.DPC(training_data, **kw)', 'DPC.DPC(testing_data, **kw)'],
    'DDE': ['DDE.DDE(training_data, **kw)', 'DDE.DDE(testing_data, **kw)'],
    'TPC': ['TPC.TPC(training_data, **kw)', 'TPC.TPC(testing_data, **kw)'],
    'binary': ['binary.binary(training_data, **kw)', 'binary.binary(testing_data, **kw)'],
    'GAAC': ['GAAC.GAAC(training_data, **kw)', 'GAAC.GAAC(testing_data, **kw)'],
    'EGAAC': ['EGAAC.EGAAC(training_data, window=%d, **kw)' % int(parameters['Sliding_Window']), 'EGAAC.EGAAC(testing_data, window=%d, **kw)' % int(parameters['Sliding_Window'])],
    'CKSAAGP': ['CKSAAGP.CKSAAGP(training_data, gap=%d, **kw)' % int(parameters['K_Space']), 'CKSAAGP.CKSAAGP(testing_data, gap=%d, **kw)' % int(parameters['K_Space'])],
    'GDPC': ['GDPC.GDPC(training_data, **kw)', 'GDPC.GDPC(testing_data, **kw)'],
    'GTPC': ['GTPC.GTPC(training_data, **kw)', 'GTPC.GTPC(testing_data, **kw)'],
    'AAINDEX': ['AAINDEX.AAINDEX(training_data, props=props, **kw)', 'AAINDEX.AAINDEX(testing_data, props=props, **kw)'],
    'ZSCALE': ['ZSCALE.ZSCALE(training_data, **kw)', 'ZSCALE.ZSCALE(testing_data, **kw)'],
    'BLOSUM62': ['BLOSUM62.BLOSUM62(training_data, **kw)', 'BLOSUM62.BLOSUM62(testing_data, **kw)'],
    'Moran': ['Moran.Moran(training_data, props=props, nlag=%d, **kw)' % int(parameters['Lag_Value']), 'Moran.Moran(testing_data, props=props, nlag=%d, **kw)' % int(parameters['Lag_Value'])],
    'Geary': ['Geary.Geary(training_data, props=props, nlag=%d, **kw)' % int(parameters['Lag_Value']), 'Geary.Geary(testing_data, props=props, nlag=%d, **kw)' % int(parameters['Lag_Value'])],
    'NMBroto': ['NMBroto.NMBroto(training_data, props=props, nlag=%d, **kw)' % int(parameters['Lag_Value']), 'NMBroto.NMBroto(testing_data, props=props, nlag=%d, **kw)' % int(parameters['Lag_Value'])],
    'CTDC': ['CTDC.CTDC(training_data, **kw)', 'CTDC.CTDC(testing_data, **kw)'],
    'CTDT': ['CTDT.CTDT(training_data, **kw)', 'CTDT.CTDT(testing_data, **kw)'],
    'CTDD': ['CTDD.CTDD(training_data, **kw)', 'CTDD.CTDD(testing_data, **kw)'],
    'CTriad': ['CTriad.CTriad(training_data, gap=0, **kw)', 'CTriad.CTriad(testing_data, gap=0, **kw)'],
    'KSCTriad': ['KSCTriad.KSCTriad(training_data, gap=%d, **kw)' % int(parameters['K_Space']), 'KSCTriad.KSCTriad(testing_data, gap=%d, **kw)' % int(parameters['K_Space'])],
    'SOCNumber': ['SOCNumber.SOCNumber(training_data, nlag=%d, **kw)' % int(parameters['Lag_Value']), 'SOCNumber.SOCNumber(testing_data, nlag=%d, **kw)' % int(parameters['Lag_Value'])],
    'QSOrder': ['QSOrder.QSOrder(training_data, nlag=%d, w=%f, **kw)' % (int(parameters['Lag_Value']), float(parameters['Weight_Value'])), 'QSOrder.QSOrder(testing_data, nlag=%d, w=%f, **kw)' % (int(parameters['Lag_Value']), float(parameters['Weight_Value']))],
    'PAAC': ['PAAC.PAAC(training_data, lambdaValue=%d, w=%f, **kw)' % (int(parameters['Lamada_Value']), float(parameters['Weight_Value'])), 'PAAC.PAAC(testing_data, lambdaValue=%d, w=%f, **kw)' % (int(parameters['Lamada_Value']), float(parameters['Weight_Value']))],
    'APAAC': ['APAAC.APAAC(training_data, lambdaValue=%d, w=%f, **kw)' % (int(parameters['Lamada_Value']), float(parameters['Weight_Value'])), 'APAAC.APAAC(testing_data, lambdaValue=%d, w=%f, **kw)' % (int(parameters['Lamada_Value']), float(parameters['Weight_Value']))],
    'KNNprotein': ['KNNprotein.KNNprotein(training_data, **kw)', 'KNNprotein.KNNprotein(testing_data, **kw)'],
    'KNNpeptide': ['KNNpeptide.KNNpeptide(training_data, **kw)', 'KNNpeptide.KNNpeptide(testing_data, **kw)'],
    'Kmer': ['Kmer.Kmer(training_data, k=%d, type="Protein", **kw)' % int(parameters['Kmer']), 'Kmer.Kmer(testing_data, k=%d, type="Protein", **kw)' % int(parameters['Kmer'])],
    'type1': ['type1.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster1']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type1.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster1']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type2': ['type2.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster2']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type2.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster2']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type3A': ['type3A.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster3A']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type3A.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster3A']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type3B': ['type3B.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster3B']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type3B.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster3B']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type4': ['type4.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster4']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type4.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster4']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type5': ['type5.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster5']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type5.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster5']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type6A': ['type6A.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster6A']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type6A.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster6A']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type6B': ['type6B.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster6B']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type6B.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster6B']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type6C': ['type6C.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster6C']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type6C.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster6C']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type7': ['type7.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster7']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type7.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster7']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type8': ['type8.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster8']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type8.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster8']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type9': ['type9.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster9']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type9.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster9']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type10': ['type10.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster10']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type10.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster10']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type11': ['type11.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster11']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type11.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster11']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type12': ['type12.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster12']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type12.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster12']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type13': ['type13.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster13']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type13.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster13']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type14': ['type14.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster14']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type14.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster14']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type15': ['type15.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster15']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type15.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster15']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
    'type16': ['type16.type1(training_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster16']), int(parameters['Ktuple']), int(parameters['GapLamada'])), 'type16.type1(testing_data, "%s", %d, %d, %d)' %(parameters['PseKRAAC_Model'], int(parameters['RAACCluster16']), int(parameters['Ktuple']), int(parameters['GapLamada']))],
}